public class code1 {
    public int numberOfArithmeticSlices(int[] nums) {
        int n = nums.length;

        int[] dp = new int[n];//dp[i]表示：以i位置为结尾的所有子数组中有多少个等差数列

        int sum = 0;
        for(int i=2;i<n;i++) {
            dp[i] = nums[i]-nums[i-1]==nums[i-1]-nums[i-2]?dp[i-1]+1:0;
            sum += dp[i];
        }

        return sum;

    }
}
